名称

efibootmgr —— 操作 EFI Boot Manager

简介

efibootmgr [-v]

efibootmgr -a -b bootnum

efibootmgr -A -b bootnum

efibootmgr -B -b bootnum

efibootmgr -c -l loader [-aD] [-b bootnum] [-k kernel] [-L label] [-e env]

efibootmgr -E [-d] [-p]

efibootmgr -F

efibootmgr -f

efibootmgr -n -b bootnum

efibootmgr -N

efibootmgr -o bootorder

efibootmgr -t timeout

efibootmgr -T

efibootmgr -u unix-path

描述

efibootmgr 程序操纵UEFI引导管理器如何引导系统。它可以创建和销毁启动方法,以及激活或停用它们。它还可以更改引导方法的定义顺序。它可以创建一个临时引导(BootNext)变量,该变量引用在下次引导时尝试一次的引导方法。

UEFI标准定义了主机如何控制用于引导系统的内容。每种方法都封装在一个持久的UEFI变量中,由UEFI BIOS以 BootXXXX 的形式存储(其中XXXX是大写十六进制数字)。这些变量都有编号,每个变量都描述了从哪里加载引导程序,以及该方法是否处于活动状态(用于引导,否则将跳过该方法)。这些方法的顺序由另一个变量 BootOrder 控制。当前引导的方法使用 BootCurrent 进行通信。还可以设置全局超时。

efibootmgr 要求内核模块 efirt(9) 模块存在或加载,以获取和设置这些非易失性变量。

以下选型可用:

示例

要显示系统中当前与 Boot 相关的变量:

这将显示可选的 BootNext (如果存在)、BootCurrent (当前启动的方法),然后是可选的 Timeout 值、可能设置的任何 BootOrder ,最后是所有当前定义的 Boot 变量,无论是否处于活动状态。verbose标志(-v)用变量的磁盘分区uuid、大小/偏移量和设备路径来增强此输出。该标志还将包括任何未被引用的(通过BootOrder)变量。

efibootmgr 程序可用于创建新的EFI引导变量。以下命令可用于创建新的引导方法,使用 /boot/efi 下挂载的EFI分区,使用给定的加载器将该方法标记为活动,并将该方法标签为“FreeBSD-15”:

这将导致下一个可用的bootnum被分配给一个新的UEFI引导变量,并给出标签“FreeBSD-15”,例如:

请注意,默认情况下,新创建的启动条目是创建为非活动的,因此上面指定了 -a 标志的原因,以便考虑启动。活动状态由输出中 BootXXXX 名称后面的 * 表示。如果当前 BootOrder 变量存在,它们也会被插入到该变量的第一个位置。它们必须首先设置为活动状态,然后才能被认为可以尝试从启动,否则将被忽略。

将删除给定的启动项Boot0009。

要将给定的启动项设置为活动状态:

要将给定的引导条目设置为用作 BootNext 变量,而不管其活动状态如何,请使用:

要为下次重新启动设置 BootOrder ,请使用:

参阅

统一可扩展固件接口规范可从www.uefi.org获得。